Many modern consumer electronic products include imaging systems to capture, code and transfer video data to other devices. The image processing systems may vary but, typically, such systems include a camera to acquire video content and hardware and/or software driven coding systems that code the video data for transmission from the device. The coding system may include a video coder that performs data compression by various techniques to exploit spatial and/or temporal redundancy within the video signal. The video coder further may perform processing operations prior to data compression (hence, “pre-processing” operations) to condition the video signal for data compression.
Typically, the functional units that perform image acquisition, pre-processing and video coding operate independently of one another. Each unit may select operational parameters for itself according to pre-programmed control policies that are independent of the policies established for other units. For example, the acquisition module operates adaptively based on the ambient operating conditions to select optimum settings for auto exposure, white balance, focus and other operational parameters to generate best quality possible based on locally-coded quality metrics. Similarly, a pre-processing unit may dynamically select among different filtering operations (typically, de-noising filters and sharpening filters) based on its own interpretation of video content output by the camera and according to its own quality metrics. This local control can cause the different units to operate at crossed purposes at times. For example, the acquisition module may capture a hi-definition video sequence, but the video sequence need to be transmitted over a communication channel that only has a low bandwidth in real time. Thus the encoder has to aggressively cut down the bits to be transmitted and encode the video sequence into low-definition.
Accordingly, the inventors perceive a need in the art for an image acquisition and coding system in which image acquisition system, pre-processor and video coder select operational parameters jointly.